// http://toutiao-app.itheima.net

//封装 axios 请求模块i奥
//导入 axios

import axios from "axios";
//导入 Store  vuex
import Store from "@/store";
//处理大数据引入json-bigint
import jsonBig from "json-bigint";
//配置基准路径
const requset = axios.create({
  baseURL: "http://ttapi.research.itcast.cn/app",
  // baseURL: "http://toutiao-app.itheima.net"

  // transformResponse 允许自定义原始的响应数据（字符串）
  transformResponse: [
    function(data) {
      try {
        // 如果转换成功则返回转换的数据结果
        return jsonBig.parse(data);
      } catch (err) {
        // 如果转换失败，则包装为统一数据格式并返回
        return {
          data
        };
      }
    }
  ]
});

// 添加请求拦截器
requset.interceptors.request.use(
  function(config) {
    // 在发送请求之前做些什么
    //配置响应头 添加Authorization
    //判断是否的登录了 如果登录了 那就从vuex数据库中找到token 添加 Bearer 字段  引入store
    // console.log(config, 4444444444444);
    if (Store.state.user) {
      config.headers.Authorization = "Bearer " + Store.state.user.token;
      // console.log(config, 66666666666666);
    }
    // console.log(config, 66666666666666);
    return config;
  },
  function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
requset.interceptors.response.use(
  function(response) {
    // 对响应数据做点什么
    return response;
  },
  function(error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);

//暴露出去
export default requset;
